package com.cqw;


import com.fasterxml.jackson.annotation.JsonInclude;
import io.swagger.annotations.ApiModelProperty;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

@JsonInclude(JsonInclude.Include.NON_NULL)
public class OrderDataView {

    @ApiModelProperty(value = "订单标识")
    private String id;

    @ApiModelProperty(value = "会员编号")
    private String memberId;

    @ApiModelProperty(value = "订单类型")
    private String orderType;

    @ApiModelProperty(value = "订单状态编码")
    private String status;

    @ApiModelProperty(value = "订单状态名称")
    private String statusName;


    @ApiModelProperty(value = "订单审核编码")
    private String auditStatus;

    @ApiModelProperty(value = "订单审核状态名称")
    private String auditStatusName;

    @ApiModelProperty(value = "禁止退款")
    private boolean disableRefund;

    @ApiModelProperty(value = "是否可以退款")
    private boolean allowRefund;

    @ApiModelProperty(value = "退单状态编码")
    private String refundStatus;

    @ApiModelProperty(value = "退单状态名称")
    private String refundStatusName;

    @ApiModelProperty(value = "礼品信息")
    private List<OrderDataViewItem> goods;

    @ApiModelProperty(value = "配送信息")
    private DeliverInfo deliverInfo;

    @ApiModelProperty(value = "发票信息")
    private InvoiceInfo invoiceInfo;

    @ApiModelProperty(value = "评价信息")
    private OrderEvaluation evaluation;

    @ApiModelProperty(value = "订单状态变更历史")
    private List<OrderStatusHistory> statusHistories;

    @ApiModelProperty(value = "原始订单运费")
    private BigDecimal originShippingPrice;

    @ApiModelProperty(value = "实际支付运费")
    private BigDecimal actualShippingPrice;

    @ApiModelProperty(value = "原始订单合计金额")
    private BigDecimal totalOriginAmount;

    @ApiModelProperty(value = "实际订单合计金额(不含运费)")
    private BigDecimal totalActualAmount;

    @ApiModelProperty(value = "客户最终实付金额(含运费)")
    private BigDecimal totalRealPayAmount;

    @ApiModelProperty(value = "自定义扩展信息")
    private List<CustomInfo> customInfos;

    @ApiModelProperty(value = "开票信息")
    private OrderInvoiceView orderInvoiceView;

    @ApiModelProperty(value = "总支付积分")
    private int totalActualPoints;

    @ApiModelProperty(value = "总优惠金额")
    private BigDecimal totalBenefitAmount;

    @ApiModelProperty(value = "下单时间")
    private Date createdTime;

    @ApiModelProperty(value = "支付时间")
    private Date paymentTime;

    @ApiModelProperty(value = "物流信息")
    private OrderLogistics orderLogistics;

    @ApiModelProperty("活动code")
    private String activityCode;

    @ApiModelProperty("拆单子订单物流信息")
    private List<OrderLogistics> childOrderLogistics;

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getMemberId() {
        return memberId;
    }

    public void setMemberId(String memberId) {
        this.memberId = memberId;
    }

    public String getOrderType() {
        return orderType;
    }

    public void setOrderType(String orderType) {
        this.orderType = orderType;
    }

    public String getStatus() {
        return status;
    }

    public void setStatus(String status) {
        this.status = status;
    }

    public String getStatusName() {
        return statusName;
    }

    public void setStatusName(String statusName) {
        this.statusName = statusName;
    }

    public String getAuditStatus() {
        return auditStatus;
    }

    public void setAuditStatus(String auditStatus) {
        this.auditStatus = auditStatus;
    }

    public String getAuditStatusName() {
        return auditStatusName;
    }

    public void setAuditStatusName(String auditStatusName) {
        this.auditStatusName = auditStatusName;
    }

    public boolean isDisableRefund() {
        return disableRefund;
    }

    public void setDisableRefund(boolean disableRefund) {
        this.disableRefund = disableRefund;
    }

    public boolean isAllowRefund() {
        return allowRefund;
    }

    public void setAllowRefund(boolean allowRefund) {
        this.allowRefund = allowRefund;
    }

    public String getRefundStatus() {
        return refundStatus;
    }

    public void setRefundStatus(String refundStatus) {
        this.refundStatus = refundStatus;
    }

    public String getRefundStatusName() {
        return refundStatusName;
    }

    public void setRefundStatusName(String refundStatusName) {
        this.refundStatusName = refundStatusName;
    }

    public List<OrderDataViewItem> getGoods() {
        return goods;
    }

    public void setGoods(List<OrderDataViewItem> goods) {
        this.goods = goods;
    }

    public DeliverInfo getDeliverInfo() {
        return deliverInfo;
    }

    public void setDeliverInfo(DeliverInfo deliverInfo) {
        this.deliverInfo = deliverInfo;
    }

    public InvoiceInfo getInvoiceInfo() {
        return invoiceInfo;
    }

    public void setInvoiceInfo(InvoiceInfo invoiceInfo) {
        this.invoiceInfo = invoiceInfo;
    }

    public OrderEvaluation getEvaluation() {
        return evaluation;
    }

    public void setEvaluation(OrderEvaluation evaluation) {
        this.evaluation = evaluation;
    }

    public List<OrderStatusHistory> getStatusHistories() {
        return statusHistories;
    }

    public void setStatusHistories(List<OrderStatusHistory> statusHistories) {
        this.statusHistories = statusHistories;
    }

    public BigDecimal getOriginShippingPrice() {
        return originShippingPrice;
    }

    public void setOriginShippingPrice(BigDecimal originShippingPrice) {
        this.originShippingPrice = originShippingPrice;
    }

    public BigDecimal getActualShippingPrice() {
        return actualShippingPrice;
    }

    public void setActualShippingPrice(BigDecimal actualShippingPrice) {
        this.actualShippingPrice = actualShippingPrice;
    }

    public BigDecimal getTotalOriginAmount() {
        return totalOriginAmount;
    }

    public void setTotalOriginAmount(BigDecimal totalOriginAmount) {
        this.totalOriginAmount = totalOriginAmount;
    }

    public BigDecimal getTotalActualAmount() {
        return totalActualAmount;
    }

    public void setTotalActualAmount(BigDecimal totalActualAmount) {
        this.totalActualAmount = totalActualAmount;
    }

    public BigDecimal getTotalRealPayAmount() {
        return totalRealPayAmount;
    }

    public void setTotalRealPayAmount(BigDecimal totalRealPayAmount) {
        this.totalRealPayAmount = totalRealPayAmount;
    }

    public List<CustomInfo> getCustomInfos() {
        return customInfos;
    }

    public void setCustomInfos(List<CustomInfo> customInfos) {
        this.customInfos = customInfos;
    }

    public OrderInvoiceView getOrderInvoiceView() {
        return orderInvoiceView;
    }

    public void setOrderInvoiceView(OrderInvoiceView orderInvoiceView) {
        this.orderInvoiceView = orderInvoiceView;
    }

    public int getTotalActualPoints() {
        return totalActualPoints;
    }

    public void setTotalActualPoints(int totalActualPoints) {
        this.totalActualPoints = totalActualPoints;
    }

    public BigDecimal getTotalBenefitAmount() {
        return totalBenefitAmount;
    }

    public void setTotalBenefitAmount(BigDecimal totalBenefitAmount) {
        this.totalBenefitAmount = totalBenefitAmount;
    }

    public Date getCreatedTime() {
        return createdTime;
    }

    public void setCreatedTime(Date createdTime) {
        this.createdTime = createdTime;
    }

    public Date getPaymentTime() {
        return paymentTime;
    }

    public void setPaymentTime(Date paymentTime) {
        this.paymentTime = paymentTime;
    }

    public OrderLogistics getOrderLogistics() {
        return orderLogistics;
    }

    public void setOrderLogistics(OrderLogistics orderLogistics) {
        this.orderLogistics = orderLogistics;
    }

    public String getActivityCode() {
        return activityCode;
    }

    public void setActivityCode(String activityCode) {
        this.activityCode = activityCode;
    }

    public List<OrderLogistics> getChildOrderLogistics() {
        return childOrderLogistics;
    }

    public void setChildOrderLogistics(List<OrderLogistics> childOrderLogistics) {
        this.childOrderLogistics = childOrderLogistics;
    }
}
